Optical character reader having feature recognition capability

ABSTRACT

The invention is applicable to single line, multiple line and page reading applications. An optical character reader includes an electro-optical sensor for scanning a line of graphic characters on a character bearing medium to derive electrical signals corresponding to configurations of the characters. A sensor processor amplifies the signals, quantizes the amplified signals and correlates them to reduce the effects of optical noise. A feature generation circuit including a plurality of feature data generators applies predetermined tests to determine the presence or absence of specified character features and forwards corresponding feature data signals to an algorithm circuit. The algorithm circuit applies predetermined criteria to the feature data signals according to truth tables set up for the several forms of characters recognizable by the system, to identify the characters being read. The algorithm circuit produces decimal data which is fed to a decimal to binary converter.

United States Patent 1191 Schlang V 1451 Feb. 25, 1975 OPTICAL CHARACTERREADER HAVING FEATURE RECOGNITION CAPABILITY Primary Examiner-Gareth D.Shaw Assistant Examiner-Leo H. Boudreau Attorney, Agent, or FirmEdwardH. Loveman, Esq.

[75] Inventor: Arthur Schlang, Woodbury, NY. [73] Assignee: IsotecIncorporated, Plainview, NY.

[57] ABSTRACT [22] Filed: June 18, 1973 The invention is applicable tosingle line, multiple line [211 Appl' 37l163 and page readingapplications. An optical character reader includes an electro-opticalsensor for scanning [52] US. Cl. 340/1463 J, 340/1463 Y, a line ofgraphic characters on a character bearing 340/1463 AC medium to deriveelectrical signals corresponding to [51] Int. Cl. G06k 9/12Configurations of the characters A sensor processor [58] Field of Search340/1463 AC, 146.3 1, amplifies the signals, quantizes the p fi gn l340/1463 AG, 146.3 1-1, 146,3 ED, 146,3 R, and correlates them to reducethe effects of optical 1463 Y noise. A feature generation circuitincluding a plurality of feature data generators applies predetermined[56] References Cit d tests to determine the presence or absence ofspecified UNITED STATES PATENTS gharacter lfeatures and forwardscorrelsxponding Ifleature ata signa s to an a gorithm circuit. T ealgorit m circuit applies predetermined criteria to the feature data3:568:15] 3/1971 340/1463 AG slgnals according to truth tables set upfor the several 3,582,883 6/1971 Shepard etal..... 340/1463 J forms fCharacters recognizable by the System, 3,587,047 6/1971 Cutaia 340/1463H identify the Characters being read- The algorithm 3,6l3,081 10/1971Morimoto 1 340/1463 J cuit produces decimal data which is fed to adecimal 3,651,461 3/1972 Holt 340/1463 AC to binary converter.

Claims, Drawing Figures STROKE COUNT TO FIGURES 9 AND 178 8 e f A SHIFTREGISTER 8O SHIFT SHIFT REGISTER REGlSTER 82 s s, e5

CLOCK CLOCK 0 A ADUER LEADING 12 e 8 EDGES IZG SHlFT CLOCK REGISTER?COUNT STORAGE PATENTED 3.866.636

SHEET 01 HF 22 HQL FEATURE L MACHINE GENERATloN A GOR'THM LANGUAGE I 5DATA SENSOR PROCESSING\H RETICLE\ SENSOR N: 7

sENsoR LATERAL AXIS m LONGITUDINAL AXIS SYMBOL B PATENTED 3.868.636

SHEET CZUF 22 4| MULTIPLEXED JWWQN CHARACTER SIGNAL LEADING TOMULTIPLEXER CLIP RATIO FEATURE GENERATOR SENSOR CONTROL OPTICS 3s 27 3OLEAD 6 W THRESHOLD ED GE I DETECTOR GENERATOR 5 37 as k 2 VIDEO O CLEvEL 32 \33 CONTROL MULTIPLEX/ HOLD Y FEATURE wAvEFORMs CORRELATOR EGENERATOR 22v \SAMPLE 39 T 35 PULSE O. C. REFERENCE \23 24 3:7 CONTROLwAvEFORM 25 OUT OF GENERATOR BOUNUS 45 OETECTOR \ZI CHARACTER SENSORPROCESSING PATENTED 3,868,636

SHEET 630F213 FIG. 5

OUTPUT DATA RESETY 63 62 P 6\-COUNTER 1 1k CLOCK HARACTER SHIFT HEIGHTTO 4 FIGS.9ANDI4 REGISTER 57d I 55 45 sYNCH RONIsM WAVEFORM wITH 2|FIG.3 GENERATOR A53 47 52\%CI EAR END OF SET END OF CHARACTER FLIP-FLOPCHARACTER TO 5 DECIsION 58 48 49 FROM 35 64 s9 FIG.3 EIGG HEIGHT AND ENDOE CHARACTER \IZA GENERATOR C RESET MINIMUM WIDTH [1% 76 {REFERENCE {66V 68 73 7- COUNTER COMPARATOR OR 75 TRIGGER 65 6? REJECT FIG 5 MAXIMUM 4WIDTH 69 REFERENCE 77 COMPARATOR 70 74 li AREEERENCE V COMPARATOR- To 78(F|G.20)

\ 7 wIDTH GENERATOR PATENTEB FEB 2 5 I975 SHEET cu 0F 22 SENSOR ARRAYRELATIVE MOTION RELATIVE MOTION WIDE STROKE) N w T C E s R E T W E N 0ONE INTERSECTION (LEADING EDGE OF FIG. 7B

RELATIVE MOTION v v flaw INTERSECTIONS N w I 0 M E W T A L E R FIG. 70

a E N NE EWm U QE TIN TN NU .UOC O0! 2 E E6 NN E UU QQ E E 0 8 N T ETUNU QU EO S6 0 2 2 PATEN'E FEBZSIS? '2 I D a SHEET 058? 22 636 STROKECOUNT TO FIGURES 9 AND 178 8 6 r A Q A 2 A I 2 SHIFT SHIFT SHIFTREGISTER REGISTER f REGISTER It I S 85 S, 85 S 85 CLOCK CLOCK CLOCK T A0A ,A

ADDER ADDER ADDER I LEADING B Co 8, G B2 EDGES 5 SHIFT 5 W CLOCK {DATAFRQM REGISTER FIGURE 3 T COUNT STORAGE F/GS PATENTEU 3.868.636

SHEET DEUF 22 FROM LOCK FIGURE 8 TRIGGER 86 92 93 95 I09 98 2 3 ig EwCOUNTER V COMPARATOR RESET REFERENCEZ 9? ELECTRONIC CONTROL SWITCH I I07I 3 J FF f I O v V DATA CHARACTER 1 IOI f HEIGHT FROM I I FIGURE 5 CLOCKI06 SHIFT 62 I REGISTER 1 I05 CLOCK I20/ I00 TO ALGORITHM COuN SEQuENCESTROKE SEQUENCE PROCESSOR PAIENTED 3.866.636

SHEET U70F 22 PROHIBITED SELECTED HG/O SCAN 1 /X\FOUR COUNT SCAN TQPQUARTER /-M|DDLE LEADING HALF EDGES F\BOTTOM QUARTER x 5 S 2 5 2DIRECTION OF E S PHOTOCELL 3 5 MULTIPLEXING I X 2 F/G.

TWO TYPES OF NUMERAL NINE WITH TWO AND THREE LEADING EDGES OP QUARTERF/G/Z -MIDDLE HALF PATENTED B 3.868.636

SHEET 08 0F 22 REFERENCE FINAL oNE SEQUENCE l3l FINAL Y TO ALGORITHM oNESEQUENGE COMPARATOR GDUNTER TRIGGER-k: I30 I34 I33 (RESET -l29 TO FIG.I4B I4I I40 END OF SCAN oNE GDUNT NE COUNT STROBE DECODER 22 I27/INHIBIT I26 FoUR GGUNT/ T I35 L23 DEGoDER II4 l2 I37 [20 COUNTERCOMPARATOR a L 'H9 END DFSGAN STRoeE RESET LATCH CLOCK SET v 85 END SCANFLIP CLEAR 2 FLOP To HI I39 MEMORY SHIFT [25) 4 j UPDATE REGISTERCONTROL 34 r FIGIG 2 FIGI4A LEADING EDGES 2 FROM To FIGURE I4A TD FIGURE[48 IO) F/G. I3 I LEADING EDGE CONTROL AND FINAL ONE SEQUENCEPATENTEDFEB25I975 3.868.636

SHEET 09 F 22 END CHARACTER 58 END CHARACTER CLEAR qI6O END FIG.CHARACTER LEAR I53 'w I56 I57; 0

I FLIP I47 FLOP 65 COUNTER TRIGGER SHIFT f '73 SET REGISTER TOTAL DATAI74 I54 I ZONE EIG. I6

85 COMPARATOR SELECT CLOCK [I63 FIG.I4B I CHARACTER 16 SHIFT L 5REGISTER I CLOCK FIG.I7A I [75 (I48 I46 INHIBIT I44 I 2... MID

HARACTER I64 I'll STROBE FIG. [7A l42 [65 I67 LEADING EDGE LEADING EDGEEIIAGTAIZIB I4 3-COUNTERS V INTERPRETER f UPDATE CONTROL I47 I65 I68 o'HM 3 I25 FI G. I3 I47 EN CHARACTER AND FIG. I7A

L EAR 169 STROKES S 8263 END OF CHARACTER CLEAR LEADING EDGE PROCESSINGFIG. /4A

PATENTED FEB25IH75 SHEET 1 1 [IF SYSTEM CLEAR LEF T DATA FIG/6 RIGHTDATA F|G.l7

CLOCK 85 LEFT RIGHT MEMORY IT A 85 TOTAL SHIFT J SHIFT E lag REGISTERREGISTER I92 J |9| l8l I82 R'GHT LEFT MEMORY MEMORY I87 V 196 I98 CLOCKI88 I97 DELAY 80 A k '89 L k 1 SHIFT 200 A T 4 REGISTER f I93] DATA 55FIG.3 25 MEMORY CONTROL M FIG. I3

PAIENTED 3.868.636

SHEET 130F 22 Z4II/SYSTEM CLEAR SET sI -s3 CONTROL Z FIG. IVA

I 1/ CLEAR 237 FLIP 268 235\ s4 FLOP 236 T STROBE 238 240' ALGORITHMDISABLE 61-S2'CONTROL 260 FLIP *269 3 242 I FLOP 27 OECODER t 1 5, 61CLEAR COM B| N6A T l N6 262 FLIP 272 TO s 5 FLOP ALGORITHM 270 26I 266'62-63 CONTROL SET- FIG.I7A 2|3 CLEAR 244 FLIP S 7 FLOP 2 47 2 6;? 245w263 264 \2 7 MEMORY 243 UPDATE RIGHT 24a CLEAR FIG.I3

DATA 24I I25 FIC.I6 249 SET I76 250 L FLIP 252 FLOP 25I 255 I 256 255254 COUNT SEQUENCE LEFT FIOs DATA V 86 FIC.I6

DI S CRIM I NATO R FIG. I7 B PIITENTEU FEB259T5 SII'EET 1U Dr 22 ,493SO2- s03 END CHARACTER UPDATE cLEAR FIG. I3

I28 #498 SHIFT REGISTER 49s r497 50l I /1IO 494 496 499 Q30 DATA FISI3CLOCK (SOI ZONE SELEOTION L 507 508 I63 FIG.I4A 2T FINAL VALUES TO I 1ALGORITHM I3 506 r Is-GATES L5 9 SI O FINAL VALUE PROCESSING SET 503 UEND CHARACTER CLEAR /4 B SADDLE FEATURE IG. l8

-FALL THRESHOLD PEAK #I I CHARACTER TOPMOST PERIPHERY -RISE THRESHOLD ILATERAL AxIS VALLEY /SADDLE START, PRESENCE 0;. 'A B C CHARACTER D FIG[9 #TT'LONG'TUD'NAL SADDLE DETECTOR MODES PIITENTEU F552 5 i975 LEADINGEDGES /54 FIGG NUMERAL sET 284 FLOP Q 2 292 FLIP 2 SHEET lSUF 22 BITCODER SHIFT SADDLE TO ALGORITHM END OF SADDLE A CLEAR ND NUMERAL 1'COUNT CHARACTER YEIENTEU 3.868.636

SHEET 16 HF 22 END OF SCAN CLEAR K 347/" we FIG 22 344 LATCH TOGGLED/346FLIP FLIP FLOP FLOP LEADING EDGES r FIGS, 34

348 345 I I I CLOCKJ 85 CLOCK SAMPLE 349 SHIFT FIG.6,78

f REGISTER SET SET 350 SET \35' 352 369 END OF CHARACTER FLIP FLIP 353FLIP 5 CLEAR FLOP FLOP FLOP 367 I 368 5 359 STROBE372 3587 347 END OF Ii /QR 347 END OF 364 THRESHOLD SCAN 3 0 CLEAR RESET 370 36' 3G3 365 37'2 THRESHOLD COUNTER DETECTOR 362 RESET 367 366 SECOND STROKE FALL TO ENDOF ALGORITHM CHARACTER CLEAR SECOND STROKE FALL DETECTOR PATENTED3,868,636

SHEET NW 22 ENDOF REsET QEE r4|4 COUNTER 380 CLOCK 9 4 THREsHOLD T8DATA56 I FIG.3 4|8- DETECTOR FALGOR'THM SHIFT I -4I6 REG'STER 406REFERENCE THRESHOLD I REFERENCE 379 DETECTOR END I OF HARACTER 393 CLEAR380 389 38! (2. e21 382 584w ELOCK 389 hoax 393 420 T i B5 402 I SHIFTSHIFT I SHIFT REGISTER U REGISTER REGISTER ,404 I (400 -42I 387 B SUM BSUM BKSUM l.- HALF HALF HALF A ADDER ADDER y LADDER INHIBIT 386 388CARRY CARRY BLOB DETECTO PATENTEU 3,868,636

SEU 18UF 22 END SCAN CLEAR LEADING 424 EDGE DAT/x34 THREE F|G.3 COUNTER425 42s 423 END OF 43 CHARACTER 427 CLEAR E F 439 CHZEIAQTER 428 J a 436438 CLEAR C 437 439 END OF SCAN II 4- g Z CLOCK SHIFT 466 L REmsIE T r L44o INHIBIT L END OF 458 442 46] CH A R C TER A/SET 464 44s //439 FLIPFLIP 463-COUNTER FLOP FLOP 456 CLOCK T460 ENABLE/ I DISABLE 44I 44s .44?

6 {DISABLE J END OF CHARACTER CLEAR couNnR**'* 439 V TWHRD STROKE 454RISE DETECTOR FIGZS SLOPE TO ALGORITHM Pf-JENTEU 7 3,868,636

SHEET lSUF 22 -I SEQUENCE o4 FIG.9 483 484 Flezos 475 477 476 ll 2 5'SI'SBV 479 48' 5! a 49| 274 z Eg LfEficE 486 I F|G.I7B K NUMERAL "1 OCRA 487 j 492 TO FIG. 56

FORMAT SADDLE 324 FIG.2OB

NUMERAL 1 LOGIC M PREFERRED NUMERAL FORMATION TYPICAL NON-PREFERREDNUMERAL FORMATIONS 0 Q G 2 SADDLE TWO-COUNT SEQUENCE NUMERALS 516.2 A

NuMERALb 470 473 (SADDLE 324 4 FIG.2O -2-sEQuENcE COUNT I04 Mir/G265NUMERAL..OEOGIC CIRCUIT 9

1. An optical character reader for optically reading characters of afont of two dimensional plane characters based on an ideal regular planematrix of two mutually perpendicular sets of linear strokes comprising:a plurality of electro-optical sensor means arranged consecutively in anarray, which is disposed to scan said characters one at a time whilesaid characters are moved relative to said array in a direction ofmovement perpendicular to said array in the plane of said matrix andparallel to one of said sets of strokes and, to produce electricalsignals corresponding to configurations of said characters, sensorprocessing means in circuit with said sensor means and arranged toamplify said signals, quantize said amplified signals, and correlatesaid quantized signals to reduce effects of optical noise, a featuregenerator means connected to said sensor processing means and arrangedto apply several predetermined tests to determine the absence orpResence of certain specified features: said feature generator meanscomprising: a first circuit means for determining the height of saidcharacters; a logic circuit means for counting the number of times eachof said electro-optical sensor means detects one or more of the strokesparallel to said array of said characters as said characterslongitudinally traverse said sensor means; and a count sequence circuitmeans connected to said first circuit means and said logic circuit meansfor determining the consecutive number of said electro-optical sensingmeans which have counted the same number of strokes, parallel to saidarray of said characters; and an algorithm circuit in circuit with saidfeature generator means for applying predetermined criteria to datacommunicated therefrom, to ascertain the identity of said charactersbeing read.
 2. An optical character reader as recited in claim 1 furtherincluding a scan means for providing that an image of each of saidcharacters moves in said direction while it is scanned in a seconddirection orthogonal to said direction by said sensor means and whereinsaid scan means includes means for scanning all of said electro-opticalsensor means at least once each time said images moves the width of oneof said electro-optical sensor means.
 3. An optical character reader asrecited in claim 1 wherein said sensor processing means includes aleading edge signal means for producing a single leading edge signal inresponse to electric signals from at least two consecutively positionedsensor means and wherein said feature generator means includes acounting circuit means connected to said leading edge signal means whichcounts of said leading edge signal.
 4. An optical character reader asrecited in claim 3 wherein said counting circuit means is connected to acounting logic means for counting said leading edge signals only if asubsequent scan has a greater number of leading edge signals than thepreceding scan.
 5. An optical character reader as recited in claim 3wherein said counting circuit means is connected to a logic circuitmeans for determining whether the last scan of a character has only oneleading edge.
 6. An optical character reader as recited in claim 4further including zonal circuit means for dividing the height of saidcharacter image into a plurality of zones and a processing circuit meanscoupled to said zonal circuit means and said counting logic means fordetermining the zone of said leading edge.
 7. An optical characterreader as recited in claim 4 further including longitudinal divisioncircuit means connected to said counting logic means for determining thelongitudinal section of said leading edges.
 8. An optical characterreader as recited in claim 3 further including a saddle circuit meansconnected to said leading edge signal means of said sensor processingmeans for determining whether said character image has a fall whichexceeds a percentage of said character height and is followed by a risethat exceeds said percentage of said character height.
 9. An opticalcharacter reader comprising: a plurality of electro-optical sensor meansarranged consecutively in an array and disposed for scanning a pluralityof graphic characters on a medium, one at a time while said charactersare moved relative to said array in a direction of movementperpendicular to said array to derive electric signals corresponding toconfigurations of said characters: a scan means for providing that animage of each of said characters moves in said direction while it isscanned in a second direction orthogonal to said direction by saidsensor means; a sensor processing means connected with said sensor meansand arranged to amplify said signals, quantize said amplified signals,and correlate said quantize signals to reduce effects of optical noise,said sensor processing means including a leading edge signal means forproducing a single leading edge signal in response to electric sIgnalsfrom at least two consecutive sensor means; a feature generator meansconnected to said sensor processing means and arranged to apply severalpredetermined tests to determine the absence or presence of certainspecified features; said feature generator means comprising: a countingcircuit means connected to said leading edge signal means which countssaid leading edge signal; and an algorithm circuit connected with saidfeature generator means and for applying predetermined criteria to datacommunicated therefrom to ascertain the identity of said charactersbeing read.
 10. An optical character reader as recited in claim 9wherein said counting circuit means is connected to a counting logicmeans.
 11. An optical character reader as recited in claim 9 furthercomprising: a means for illuminating said characters on said mediumwhile they are being scanned; and an automatic gain control means insaid sensor processing means arranged to correct for variations inillumination of said characters in surface reflectance of said medium,and in light absorptivity of graphic characters.
 12. An opticalcharacter reader as recited in claim 9 wherein said feature generatormeans further includes a plurality of feature data generator circuitsarranged to receive processed signals from said sensor processing meanscorresponding to configurations of said scanned characters, each one ofsaid feature data generator circuits being responsive to said processedsignals and arranged to generate data signals corresponding to at leastone predetermined character feature selected from the following group ofcharacter features: character height, horizontal strokes, final value,vertical strokes, saddle, character width, upper stroke slope, blobs andsmudges, precipitous fall, final 1 count, and third stroke slope.
 13. Anoptical character reader as recited in claim 9 further comprisingadjustment means arranged to move said medium in one of said directionsto position characters on said medium in an optimum position for beingscanned by said electro-optical means.
 14. An optical character readeras recited in claim 9, wherein said algorithm circuit, comprisesseparate logic circuits, one for each preferred form of character to beread, each one of said logic circuits containing components arranged tocorrelate data signals received from said feature data generatorcircuits with different character forms each defined by a correspondingtruth table.
 15. An optical character reader as recited in claim 14,wherein each of said logic circuits produces decimal data correspondingto character forms recognized by said algorithm circuit and furthercomprising a decimal to binary conversion circuit connected to saidalgorithm circuit for producing binary data signals corresponding to thecharacter forms recognized by said algorithm circut.